package com.cloud.lawcase.api.service;

import java.util.List;

import com.cloud.lawcase.api.bean.LawCauseEditBean;
import com.cloud.lawcase.api.bean.LawCriteriaBean;
import com.cloud.lawcase.api.entity.TcDicLaw;
import com.cloud.lawcase.api.entity.TcDicLawCause;
import com.cloud.lawcase.api.entity.TcDicLawItem;
import com.cloud.lawcase.common.result.QkTreeNode;
import com.github.pagehelper.PageInfo;

public interface LawCauseEditService {
	/**
	 * 分页获取法规相关信息
	 * 
	 * @param criteria
	 * @return
	 */
	PageInfo<TcDicLaw> listStatPage(LawCriteriaBean criteria);

	/**
	 * 查询一条法规下的案由树
	 * 
	 * @param lawId
	 * @return
	 */
	QkTreeNode listTree(long lawId, int excuteTypeId);

	/**
	 * 
	 * @param causeId
	 * @return
	 */
	void deleteLawCause(long causeId);

	/**
	 * 保存或更新事由
	 * 
	 * @param lawCause
	 * @return
	 */
	TcDicLawCause createLawCause(LawCauseEditBean lawCause);

	/**
	 * 获取案件列表环节
	 * 
	 * @param lawId
	 * @return
	 */
	List<TcDicLawItem> listItemCause(long lawId, int excuteTypeId);

	/**
	 * 事由编辑
	 * 
	 * @param lawCause
	 * @return
	 */
	TcDicLawCause updateLawCause(LawCauseEditBean lawCause);
	
	/**
	 * 案由拷贝
	 * @param srcId
	 * @param targetId
	 * @return
	 */
	int copyLawCause(long srcId, long targetId);
}
